/**
 * 步骤明细对象实体
 */
export default class Item {

    /**
     *
     * @param ele 元素对象
     * @param vue 默认属性
     * @param idx 序号
     */
    constructor(ele, vue, idx) {
        // 作业中 - 图标
        this.workingIcon = ele.workingIcon || vue.workingIcon;
        // 作业中 - 颜色
        this.workingColor = ele.workingColor || vue.workingColor;
        // 已完成 - 图标
        this.activeIcon = ele.activeIcon || vue.activeIcon;
        // 已完成 - 颜色
        this.activeColor = ele.activeColor || vue.activeColor;
        // 未完成 - 图标
        this.inactiveIcon = ele.inactiveIcon || vue.inactiveIcon;
        // 未完成 - 颜色
        this.inactiveColor = ele.inactiveColor || vue.inactiveColor;

        // 步骤显示值
        this.label = ele.label;
        // 步骤逻辑值
        this.value = ele.value;
        // 步骤序号
        this.index = idx;

        // 当前界面采用的图标
        this.icon = this.inactiveIcon;
        // 当前界面采用的颜色
        this.color = this.inactiveIcon;
    };

    /**
     * 步骤比较，得出当前应该采用的样式
     * @param index 步骤序号
     */
    compare(index) {
        if (index > this.index) {
            this.icon = this.activeIcon;
            this.color = this.activeColor;
        } else if (index < this.index) {
            this.icon = this.inactiveIcon;
            this.color = this.inactiveColor;
        } else {
            this.icon = this.workingIcon;
            this.color = this.workingColor;
        }
    }
}